package com.xydtech.ecard.ecard.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;

/**
 * 电子名片商户拜访记录对象 ecard_merchant_visit_info
 *
 * @author xydtech
 * @date 2023-07-25
 */
public class EcardApiMerchantVisitInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 商户ID
     */
    @Excel(name = "商户ID")
    private Long merchantId;

    /**
     * 创建人ID
     */
    @Excel(name = "创建人ID")
    private Long creatorId;

    /**
     * 坐标
     */
    @Excel(name = "坐标")
    private String coordinate;

    /**
     * 地图地址
     */
    @Excel(name = "地图地址")
    private String mapAddress;

    /**
     * 拜访图片
     */
    @Excel(name = "拜访图片")
    private String visitPic;

    /**
     * 营销结果
     */
    @Excel(name = "营销结果")
    private String ecardSemResult;
    /**
     * 商户新办业务（多条记录逗号隔开）
     */
    @Excel(name = "商户新办业务", readConverterExp = "多=条记录逗号隔开")
    private String newBusiness;

    /**
     * 失败原因
     */
    @Excel(name = "失败原因")
    private String failReason;

    /**
     * 有无预约业务
     */
    @Excel(name = "有无预约业务")
    private String hasReservationBusi;
    /**
     * 预约业务类型
     */
    @Excel(name = "预约业务类型")
    private String reservationBusiType;

    /**
     * 预约日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentDate;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;
    /*客户经理名称*/
    private String userName;
    /*客户经理头像*/
    private String avatar;
    /*机构id*/
    private Long deptId;
    /**
     * 下次回访提醒日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次回访日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reminderDate;

    /** 商户类型：1-个人，2-商户，3-企业，4-新型农业主体 */
    private String merchantType;

    /** 商户管户人id */
    @Excel(name = "商户管户人id")
    private Long managementPersonnelId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
    }

    public Long getCreatorId() {
        return creatorId;
    }

    public void setCoordinate(String coordinate) {
        this.coordinate = coordinate;
    }

    public String getCoordinate() {
        return coordinate;
    }

    public void setVisitPic(String visitPic) {
        this.visitPic = visitPic;
    }

    public String getVisitPic() {
        return visitPic;
    }

    public void setNewBusiness(String newBusiness) {
        this.newBusiness = newBusiness;
    }

    public String getNewBusiness() {
        return newBusiness;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setReminderDate(Date reminderDate) {
        this.reminderDate = reminderDate;
    }

    public Date getReminderDate() {
        return reminderDate;
    }

    public String getMapAddress() {
        return mapAddress;
    }

    public void setMapAddress(String mapAddress) {
        this.mapAddress = mapAddress;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getEcardSemResult() {
        return ecardSemResult;
    }

    public void setEcardSemResult(String ecardSemResult) {
        this.ecardSemResult = ecardSemResult;
    }

    public String getFailReason() {
        return failReason;
    }

    public void setFailReason(String failReason) {
        this.failReason = failReason;
    }

    public String getHasReservationBusi() {
        return hasReservationBusi;
    }

    public void setHasReservationBusi(String hasReservationBusi) {
        this.hasReservationBusi = hasReservationBusi;
    }

    public String getReservationBusiType() {
        return reservationBusiType;
    }

    public void setReservationBusiType(String reservationBusiType) {
        this.reservationBusiType = reservationBusiType;
    }

    public Date getAppointmentDate() {
        return appointmentDate;
    }

    public void setAppointmentDate(Date appointmentDate) {
        this.appointmentDate = appointmentDate;
    }

    public String getMerchantType() {
        return merchantType;
    }

    public void setMerchantType(String merchantType) {
        this.merchantType = merchantType;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getManagementPersonnelId() {
        return managementPersonnelId;
    }

    public void setManagementPersonnelId(Long managementPersonnelId) {
        this.managementPersonnelId = managementPersonnelId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("merchantId", merchantId)
                .append("creatorId", creatorId)
                .append("coordinate", coordinate)
                .append("mapAddress", mapAddress)
                .append("visitPic", visitPic)
                .append("ecardSemResult", ecardSemResult)
                .append("newBusiness", newBusiness)
                .append("failReason", failReason)
                .append("hasReservationBusi", hasReservationBusi)
                .append("reservationBusiType", reservationBusiType)
                .append("appointmentDate", appointmentDate)
                .append("creationTime", creationTime)
                .append("userName", userName)
                .append("avatar", avatar)
                .append("reminderDate", reminderDate)
                .append("merchantType", merchantType)
                .append("deptId", deptId)
                .append("managementPersonnelId", managementPersonnelId)
                .toString();
    }
}
